package cn.topevery.garden.dal.dao;

import cn.topevery.garden.entity.po.Extent;
import cn.topevery.garden.entity.po.ScheduleRecord;
import cn.topevery.garden.entity.query.ScheduleRecordQuery;
import cn.topevery.garden.entity.vo.FacilitiesPageVO;
import cn.topevery.garden.entity.vo.ScheduleRecordVO;
import cn.topevery.garden.framework.base.BaseDao;
import hw.topevery.framework.db.entity.DataPager;

import java.util.List;
import java.util.Map;

/**
 * 排班记录表
 *
 * @author code-generate
 * @date 2021-12-28
 */
public interface ScheduleRecordDao extends BaseDao<ScheduleRecord> {

    

    /**
     * 获取列表
     *
     * @param query
     */
    DataPager<ScheduleRecordVO> listPage(ScheduleRecordQuery query);

    ScheduleRecord getEntityByColumn(String key,String value);

    void createScheduleRecord();

    List<ScheduleRecordVO> statisticsData(ScheduleRecordQuery query);

    Map getExtentPeopleWorkInfo(ScheduleRecordQuery query);

    List<Map<String,Object>> getExtentWorkPeopleList(ScheduleRecordQuery query);

    Map getExtentWorkPersonAndCarInfo(ScheduleRecordQuery query);

    List<Map<String, Object>> getPersonShiftWorkInfo(ScheduleRecordQuery query);

    List<Map<String, Object>> getCarShiftWorkInfo(ScheduleRecordQuery query);

    List<Map<String, Object>> getTaskInfo(ScheduleRecordQuery query);

    void insertStatusPerson();

    void insertStatusCar();

    Map getExtentCarWorkInfo(ScheduleRecordQuery query);



    List<Map<String, Object>> getExtentWorkCarList(ScheduleRecordQuery query);

    List<Extent> getObjWorkExtent(ScheduleRecordQuery query);

    List<FacilitiesPageVO> getObjWorkTaskFacilities(ScheduleRecordQuery query);

}
